﻿using MiniFox.Components;
using MiniFox.Infrastructure;
using Sys.Core.Models.Dto;
using Sys.Core.Models.Queries;
using Sys.Core.Models.VO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sys.Core
{
    [AutoRegister]
    public interface ISequenceService
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        ResultObject<IEnumerable<SequenceSetVo>> Query(PagedQueryObject<SequenceSetQuery> request);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        SequenceSetVo Item(string name);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        SequenceSetVo Create(SequenceSetDto dto);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        SequenceSetVo Update(SequenceSetDto dto);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="data"></param>
        void Remove(string[] data);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="data"></param>
        void Reset(string[] data);

    }
}
